package com.ruoyi.system.service;

import java.util.List;
import com.ruoyi.system.domain.RepBase;
import com.ruoyi.system.domain.RepPro;
import com.ruoyi.system.domain.RepProList;

/**
 * 报基本信息Service接口
 * 
 * @author renfx
 * @date 2021-09-09
 */
public interface IRepBaseService 
{
    /**
     * 查询报基本信息
     * 
     * @param id 报基本信息主键
     * @return 报基本信息
     */
    public RepBase selectRepBaseById(Integer id);

    /**
     * 查询报基本信息列表
     * 
     * @param repBase 报基本信息
     * @return 报基本信息集合
     */
    public List<RepBase> selectRepBaseList(RepBase repBase);

    /**
     * 新增报基本信息
     * 
     * @param repBase 报基本信息
     * @return 结果
     */
    public int insertRepBase(RepBase repBase);

    /**
     * 修改报基本信息
     * 
     * @param repBase 报基本信息
     * @return 结果
     */
    public int updateRepBase(RepBase repBase);

    /**
     * 批量删除报基本信息
     * 
     * @param ids 需要删除的报基本信息主键集合
     * @return 结果
     */
    public int deleteRepBaseByIds(Integer[] ids);

    /**
     * 删除报基本信息信息
     * 
     * @param id 报基本信息主键
     * @return 结果
     */
    public int deleteRepBaseById(Integer id);

    /**
     * 根据orderId查询报表基本信息
     *
     * @param orderId 报基本信息主键
     * @return 报基本信息
     */
    public RepBase selectRepBaseOrderId(Integer orderId);

    /**
     * 查询明细
     *
     * @param id 报基本信息
     * @return 报基本信息集合
     */
    public List<RepPro> selectDetail(Integer id);

    /**
     * 查询报基本信息列表带字典值
     *
     * @param repPro 报基本信息
     * @return 报基本信息
     */
    public List<RepProList> selectRepProListForDisc(RepPro repPro);
}
